package com.sy.mapper.permissions;

import com.sy.bean.permissions.Menu;
import com.sy.bean.permissions.SaveMenu;
import com.sy.bean.permissions.ShowLinkMenu;
import com.sy.bean.permissions.StatusMenu;
import com.sy.common.crud.IMapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface MenuMapper extends IMapper<Menu> {
    /**
     * 新增菜单
     *
     * @param entity 新增bean
     * @return 行数
     */
    int save(SaveMenu entity);

    /**
     * 查询菜单下是否有子菜单
     *
     * @param parentId 父id
     * @return
     */
    int queryCount(int parentId);

    /**
     * 上级菜单树
     * @return map
     */
    List<Map> tree();

    /**
     * 根据id修改状态
     * @param menu bean
     * @return 行数
     */
    int editStatus(StatusMenu menu);

    /**
     * 根据菜单id修改是否显示
     * @param menu bean
     * @return 行数
     */
    int editShowLink(ShowLinkMenu menu);

    /**
     * 根据用户id查询权限
     * @param id 用户id
     * @return 权限
     */
    List  queryMenuByUserId(int id);


    /**
     * 根据用户id查询权限标识
     * @param id
     * @return
     */
    String queryAuths(int id);

}
